package Test;

import java.util.LinkedList;
import java.util.ListIterator;

public class Test {
    public static void main(String[] args) {
        LinkedList<Integer>list=new LinkedList<>();
        //尾插
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        System.out.println(list);
        //指定位置插入
list.add(0,0);
        System.out.println(list);
        list.add(list.size(), 6);
        System.out.println(list);
        list.add(5,6);
        System.out.println(list);
        //头插
        list.addFirst(-1);
        System.out.println(list);
        //尾插
        list.addLast(100);
        System.out.println(list);
        System.out.println("========================================");
        //判断元素是否存在
        System.out.println(list.contains(1));
        //获取下标元素
        System.out.println(list.get(1));
        //获取第一个元素
        System.out.println(list.getFirst());
//获取最后一个元素
        System.out.println(list.getLast());
        //修改指定位置的元素
        list.set(4,99999);
        System.out.println(list);
        //返回第一次出现元素的下标
        System.out.println(list.indexOf(100));
//返回最后一次出现元素的下标
        System.out.println(list.lastIndexOf(2));
//截取指定区间的元素（左闭右开）
        System.out.println(list.subList(1, 4));

        for (int x:list) {
            System.out.print(x+" ");
        }
        System.out.println();
        ListIterator<Integer>lit= list.listIterator();
        while (lit.hasNext()){
            System.out.print(lit.next()+" ");
        }
        System.out.println();
        ListIterator<Integer>it= list.listIterator();
        while (it.hasPrevious()){
            System.out.print(it.previous()+" ");
        }


    }

}
